package com.tom.architect02.p4.day35;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;

import com.tom.architect02.R;
import com.tom.architect02.p4.day35.retrofit.RetrofitClient;
import com.tom.architect02.p4.day35.retrofit.UserInfo;
import com.tom.architect02.p4.day35.simple2.BaseSubscriber;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main35);

        // data是不同的类型。
        RetrofitClient.getServiceApi()
                .userLogin("Tom", "123456")
                // .subscribeOn().observeOn().subscribe
                // Subscriber 封装
                .compose(RetrofitClient.<UserInfo>transformer())
                .subscribe(new BaseSubscriber<UserInfo>() {
                    @Override
                    protected void onError(String errorCode, String errorMessage) {

                    }

                    @Override
                    public void onNext(UserInfo userInfo) {

                    }
                });




               /* .subscribeOn(Schedulers.io()) // 子线程中执行
                .observeOn(AndroidSchedulers.mainThread()) // 主线程中执行。
                .subscribe(new Subscriber<Result<UserInfo>>() {
                    @Override
                    public void onCompleted() {
                        // 请求完成
                    }

                    @Override
                    public void onError(Throwable e) {
                        // 请求以错误
                        e.printStackTrace();
                    }

                    @Override
                    public void onNext(Result<UserInfo> userInfoResult) {
                        // 请求成功
                        if (userInfoResult.isOk()) {

                        } else {

                        }
                        log(userInfoResult.toString());
                    }
                });*/
    }


    private void log(String msg) {
        Log.e("TAG", "log: " + msg);
    }

}